package com.lagou.dao;

import com.lagou.domain.Menu;

import java.util.List;

public interface MenuMapper {

    /**
     * 查询所有菜单列表
     *
     * @param pid 父级目录id
     * @return
     */
    List<Menu> findSubMenuListByPid(Integer pid);

    /**
     * 根据角色ID查询关联菜单ID
     *
     * @param roleId 角色id
     * @return
     */
    List<Integer> findMenuByRoleId(Integer roleId);

    /**
     * 菜单列表查询
     *
     * @return
     */
    List<Menu> findAllMenu();

    /**
     * 根据菜单id查询菜单信息
     *
     * @param id 菜单id
     * @return
     */
    Menu findMenuById(Integer id);

    /**
     * 添加菜单
     *
     * @param menu
     */
    void saveMenu(Menu menu);

    /**
     * 修改菜单
     *
     * @param menu
     */
    void updateMenu(Menu menu);

    /**
     * 根据角色id,查询角色拥有的顶级菜单信息
     * @param ids 角色id列表
     * @return
     */
    List<Menu> findParentMenuByRoleId(List<Integer> ids);
}
